public class AmericanFactory extends Factory {
	//aceasta clasa e de tip Abstract Factory
	private static AmericanFactory INSTANCE;
	private AmericanFactory()
	//folosind Singleton ne asiguram ca metoda de fabricare exista o sing data
	{
		
	}
	public static AmericanFactory getInstance()
	{
		if(INSTANCE==null)
		{
		  INSTANCE=new AmericanFactory();
		}
		return INSTANCE; 	//return o sing instanta a cls

	}
	public Date getDate(int d,int m, int y)
	{

	 return new AmericanDate(d,m,y);// se apeleaza constructorul cls AmericanDate
	}
	public Address getAddress(int nr,String sName,String town,int code)
	{
	  return new AmericanAddress(nr,sName,town,"CA",code);	
	}
	public PhoneNumber getPhoneNumber(String p)
	{
		return new AmericanPhoneNumber(p);
	}

}
